条件语句 (if-else, switch)

概述

在编程中,条件语句用于根据不同的条件执行不同的代码块。Java 提供了两种主要的条件语句:if-else 和 switch。这些语句帮助我们在程序中做出决策,从而实现更复杂的功能。

if-else 语句

基本语法

if-else 语句用于根据条件的真假来执行不同的代码块。其基本语法如下:

if (条件) {
    // 条件为真时执行的代码
} else {
    // 条件为假时执行的代码
}

示例代码

public class IfElseExample {
    public static void main(String[] args) {
        int age = 18;

        if (age >= 18) {
            System.out.println("你已经成年了!");
        } else {
            System.out.println("你还未成年。");
        }
    }
}

解释

  • if (条件):如果条件为真,执行 if 后面的代码块。
  • else:如果条件为假,执行 else 后面的代码块。

多重条件

if-else 语句还可以嵌套使用,或者使用 else if 来处理多个条件:

public class IfElseIfExample {
    public static void main(String[] args) {
        int score = 85;

        if (score >= 90) {
            System.out.println("优秀");
        } else if (score >= 80) {
            System.out.println("良好");
        } else if (score >= 70) {
            System.out.println("中等");
        } else {
            System.out.println("及格");
        }
    }
}

解释

  • else if (条件):在 if 条件不满足时,检查 else if 的条件。
  • 可以有多个 else if 语句。
  • 最后的 else 语句是可选的,用于处理所有其他情况。

switch 语句

基本语法

switch 语句用于根据一个变量的值来执行不同的代码块。其基本语法如下:

switch (变量) {
    case 值1:
        // 当变量等于值1时执行的代码
        break;
    case 值2:
        // 当变量等于值2时执行的代码
        break;
    default:
        // 当变量不等于任何值时执行的代码
}

示例代码

public class SwitchExample {
    public static void main(String[] args) {
        int day = 3;

        switch (day) {
            case 1:
                System.out.println("星期一");
                break;
            case 2:
                System.out.println("星期二");
                break;
            case 3:
                System.out.println("星期三");
                break;
            default:
                System.out.println("其他天");
        }
    }
}

解释

  • switch (变量):根据变量的值来选择执行哪个 case 块。
  • case 值:当变量等于某个值时,执行该 case 块中的代码。
  • break:用于结束 switch 语句,防止继续执行下一个 case 块。
  • default:当变量不等于任何 case 值时,执行 default 块中的代码。

注意事项

  • switch 语句中的变量可以是 byte、short、char、int、String(Java 7+)等类型。
  • case 语句中的值必须是常量表达式,不能是变量。

实践练习

练习1:判断奇偶数

编写一个程序,输入一个整数,判断它是奇数还是偶数。

import java.util.Scanner;

public class OddEvenChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个整数: ");
        int number = scanner.nextInt();

        if (number % 2 == 0) {
            System.out.println(number + " 是偶数。");
        } else {
            System.out.println(number + " 是奇数。");
        }
    }
}

练习2:判断季节

编写一个程序,输入一个月份(1-12),输出对应的季节。

import java.util.Scanner;

public class SeasonChecker {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入一个月份 (1-12): ");
        int month = scanner.nextInt();

        switch (month) {
            case 12:
            case 1:
            case 2:
                System.out.println("冬季");
                break;
            case 3:
            case 4:
            case 5:
                System.out.println("春季");
                break;
            case 6:
            case 7:
            case 8:
                System.out.println("夏季");
                break;
            case 9:
            case 10:
            case 11:
                System.out.println("秋季");
                break;
            default:
                System.out.println("无效的月份");
        }
    }
}

总结

条件语句是编程中非常重要的工具,能够帮助我们根据不同的条件执行不同的代码。if-else 语句适用于复杂的条件判断,而 switch 语句则适用于根据变量的值来选择执行不同的代码块。通过练习,你可以更好地掌握这些语句的使用方法,并在实际编程中灵活应用。